partial class MULTIMAP_INCL{K,E} |
---|
**** | Partial class for full fledged multi-maps |
RO_MULTIMAP_INCL{_,_} | COMPARE{_} |
H_MULTIMAP{_,_} | MULTIMAP{_,_} |
elt_eq(e1,e2:ETP):BOOL .. Included as elt_eq |
---|
**** | The "less than" relation used in the sorting routines. Compares the object "id" by default. May be redefined in descendants. |
elt_hash(e:ETP):INT .. Included as elt_hash |
---|
**** | A hash value associated with an element. Must have the property that if "elt_eq(e1,e2)" then "elt_hash(e1)=elt_hash(e2)". Can be defined to always return 0, but many routines will then become quadratic. Uses object "id" by default. May be redefined in descendants. |
elt_if(test:ROUT{E}:BOOL,out res:E):BOOL .. Included as elt_if |
---|
**** | Return the first element that satisfies "test" in "res" Return true if a element was found, false otherwise |
elt_lt(e1,e2:ETP):BOOL .. Included as elt_lt |
---|
**** | The "less than" relation used in the sorting routines. Compares the object "id" by default. May be redefined in descendants. |
elt_nil: ETP .. Included as elt_nil |
---|
**** | Return the nil value. If the element is under $NIL then return e.nil. Otherwise, return void
_ |
equals(b: $RO_MULTIMAP{K,E}): BOOL .. Included as equals |
---|
**** | Returns true if all of "e"'s elements are equal to self's elts Ordering is an issue. Should be redefined to be more precise for particular descendants |
has(e: E): BOOL .. Included as has |
---|
**** | Return true if this multimap has the element "e" |
has_elt(e: E): BOOL .. Included as has_elt |
---|
has_ind(k: K): BOOL .. Included as has_ind |
---|
**** | Return true if the index "k" has at least one target in this multimap |
ind_if(test:ROUT{E}:BOOL):K .. Included as ind_if |
---|
**** | Return the index of the leftmost element that satisfies `test', or void if there is none. Must be changed to use an out argument |
inds: ARRAY{K} .. Included as inds |
---|
**** | Return an index array which is the same size as self and is set to the values of the indices |
is_elt_nil(e:ETP):BOOL .. Included as is_elt_nil |
---|
stub n_inds: INT; .. Included as n_inds |
---|
**** | Return the total number of indices |
stub n_targets(k:K): INT; .. Included as n_targets |
---|
**** | Return the number of targets for index "k" |
stub size: INT; .. Included as size |
---|
**** | The number of elements in this multimap |
str: STR .. Included as str |
---|
**** | Prints out a string version of the array of the components that are under $STR, and their associated indices |
str_of_elts: STR .. Included as str_of_elts |
---|
**** | Prints out a string version of the array of the components that are under $STR, and their associated indices |
targets(k: K): BAG{E} .. Included as targets |
---|
stub elt!: E; .. Included as elt! |
---|
**** | Yield elements (unordered) |
filter!(once f:ROUT{E}:BOOL): E .. Included as filter! |
---|
**** | Yield all elements that satisfy the boolean predicate "f" |
filter_not!(once f:ROUT{E}:BOOL): E .. Included as filter_not! |
---|
**** | Yield all elements that do not satisfy the boolean predicate "f" |
stub ind!: K; .. Included as ind! |
---|
**** | Yield element indices (unordered) |
stub pair!: TUP{K,E}; .. Included as pair! |
---|
**** | Yield pairs of index,element |
stub target!(once k:K): E; .. Included as target! |
---|
**** | Yield the targets of the index "k" |
target!: E .. Included as target! |
---|
elt_str(e: E): STR .. Included as elt_str |
---|
ind_str(i: K): STR .. Included as ind_str |
---|